$(function () {
    // 修改个人信息
    $('#updateLoginIdAndName').click(function () {
        var loginIdAndNameButton = $(this);
        loginIdAndNameButton.attr('disabled', true); // 禁止多次提交
        var loginId = $('#loginId').val();
        var adminName = $('#adminName').val();
        if (validLoginIdAndNameForUpdate(loginId, adminName)) {
            // ajax
            var params = $('#LoginIdAndNameForm').serialize(); // input的adminName属性一定要设置，相当于key
            //console.log(params);
            $.ajax({
                type: 'PUT',
                url: '/admin/profile/loginIdAndName',
                data: params,
                success: function (result) {
                    if (result.statusCode === 200) {
                        toastr.success('修改成功！', {timeOut: 3000});
                    } else {
                        toastr.error(result.message, {timeOut: 3000});
                    }
                },
                complete: function (){
                    $('#updateLoginIdAndName').attr('disabled', false);
                }
            });
        }
    })
    // 修改密码
    $('#updatePassword').click(function () {
        var passwordButton = $(this);
        passwordButton.attr('disabled', true);
        if (validQldAndNewPasswordForUpdate($('#oldPassword').val(), $('#newPassword').val())) {
            $.ajax({
                type: 'PUT',
                url: '/admin/profile/password',
                data: $('#passwordForm').serialize(),
                success: function (result) {
                    if (result.statusCode === 200) {
                        alert('密码已修改！');
                        window.location.href = '/admin/login';
                    } else {
                        toastr.error(result.message, {timeOut: 3000});
                    }
                },
                complete: function (){
                    $('#updatePassword').attr('disabled', false);
                }
            });
        }
    });
})

/**
 * 验证账号和名称
 */
function validLoginIdAndNameForUpdate(loginId, adminName) {
    if (isEmpty(loginId)) {
        toastr.warning('账号不能为空！', '警告', {timeOut: 5000});
        return false;
    }
    if (!validLoginId(loginId)) {
        toastr.warning('账号格式为4到16位数字、字母（不区分大小写）、下划线组成！', '警告', {timeOut: 5000});
        return false;
    }
    if (isEmpty(adminName)) {
        toastr.warning('名称不能为空！', '警告', {timeOut: 5000});
        return false;
    }
    if (!validName(adminName)) {
        toastr.warning('名称格式为2-10位的中英文、数字、下划线组成！', '警告', {timeOut: 5000});
        return false;
    }
    return true;
}

/**
 * 验证密码
 */
function validQldAndNewPasswordForUpdate(oldPassword, newPassword) {
    if (isEmpty(oldPassword)) {
        toastr.warning('旧密码不能为空！', '警告', {timeOut: 5000});
        return false;
    }
    if (isEmpty(newPassword)) {
        toastr.warning('新密码不能为空！', '警告', {timeOut: 5000});
        return false;
    }
    if (!validPassword(newPassword)) {
        toastr.warning('密码格式为6-18位数字、字母（不区分大小写）！', '警告', {timeOut: 5000});
        return false;
    }
    return true;
}
